﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

namespace BeniBastanYaratProject.Uye
{
    public partial class Kisisel : System.Web.UI.Page
    {

        DBBaglantiDataContext db = new DBBaglantiDataContext();
        protected void Page_Load(object sender, EventArgs e)
        {

            if (Page.IsPostBack) return;

            Guid userId = (Guid)Membership.GetUser().ProviderUserKey;


            var sorgu = (from x in db.UyeDetaylars where x.UyeId == userId select x).SingleOrDefault();
            if (sorgu != null)
            {
                txtUyeAdi.Text = sorgu.UyeAdi;
                txtUyeSoyadi.Text = sorgu.UyeSoyadi;
                txtEvTlf.Text = sorgu.UyeEvTelefonu;
                txtCepTlf.Text = sorgu.UyeCepTelefonu;




                if (sorgu.UyeDogumTarihi != null)
                {

                    DateTime dt = (DateTime)sorgu.UyeDogumTarihi;
                    txtDogumTarihi.Text = dt.Day.ToString() + "/" + dt.Month.ToString().PadLeft(2, '0') + "/" + dt.Year.ToString();

                }
                else
                {

                    txtDogumTarihi.Text = DateTime.Now.Day.ToString() + "/" + DateTime.Now.Month.ToString().PadLeft(2, '0') + "/" + DateTime.Now.Year.ToString();
                }


                var adressorgu = (from x in db.UyeAdreslers where x.UserID == userId select new { x.AdresBilgisi, x.AdresID, x.AdresAdi }).ToList();

                drpAdresler.DataTextField = "AdresAdi";
                drpAdresler.DataValueField = "AdresID";


                drpAdresler.DataSource = adressorgu;
                drpAdresler.DataBind();
                drpAdresler.SelectedValue = sorgu.UyeOntanimliAdres.ToString();

                ViewState["yenikayit"] = false;
            }
            else
            {
                txtDogumTarihi.Text = DateTime.Now.Day.ToString() + "/" + DateTime.Now.Month.ToString().PadLeft(2, '0') + "/" + DateTime.Now.Year.ToString();


                lblMesaj.Text = "Kişisel bilgileriniz henüz kaydedilmemiş. Lütfen bilgilerinizi girip Kaydet butonuna tıklayınız.";
                ViewState["yenikayit"] = true;
            }

        }

        protected void btnKaydet_Click(object sender, EventArgs e)
        {


            bool yeniKayit = (bool)ViewState["yenikayit"];



            Guid userId = (Guid)Membership.GetUser().ProviderUserKey;

            if (txtAdresAdi.Text != null)
            {
                UyeAdresler uyeadres = new UyeAdresler();
                uyeadres.UserID = userId;
                uyeadres.AdresAdi = txtAdresAdi.Text;
                uyeadres.AdresBilgisi = txtAdresBilgisi.Text;
                uyeadres.AdresTarif = txtAdresTarif.Text;
                uyeadres.AdresNot = txtAdresNot.Text;
                db.UyeAdreslers.InsertOnSubmit(uyeadres);


            }

            DateTime dt;

            if (txtDogumTarihi.Text != "")
            {
               dt  = new DateTime(int.Parse(txtDogumTarihi.Text.Substring(6, 4)), int.Parse(txtDogumTarihi.Text.Substring(3, 2)), int.Parse(txtDogumTarihi.Text.Substring(0, 2)));
            }
            else {
                 dt = DateTime.Now;
            }
            





            if (yeniKayit)
            {
                UyeDetaylar uyeDetay = new UyeDetaylar();

                uyeDetay.UyeAdi = txtUyeAdi.Text;
                uyeDetay.UyeSoyadi = txtUyeSoyadi.Text;
                uyeDetay.UyeId = userId;
                uyeDetay.UyeDogumTarihi = dt;
                uyeDetay.UyeCepTelefonu = txtCepTlf.Text;
                uyeDetay.UyeEvTelefonu = txtEvTlf.Text;
                try
                {
                    uyeDetay.UyeOntanimliAdres = int.Parse(drpAdresler.SelectedValue);
                }
                catch (Exception)
                {

                }


                db.UyeDetaylars.InsertOnSubmit(uyeDetay);
                db.SubmitChanges();
                lblMesaj.Text = "Kişisel Bilgileriniz Kaydedildi!";
            }
            else
            {

                var sorgu = (from x in db.UyeDetaylars where x.UyeId == userId select x).SingleOrDefault();

                sorgu.UyeAdi = txtUyeAdi.Text;
                sorgu.UyeSoyadi = txtUyeSoyadi.Text;
                sorgu.UyeDogumTarihi = dt;
                sorgu.UyeCepTelefonu = txtCepTlf.Text;
                sorgu.UyeEvTelefonu = txtEvTlf.Text;

                sorgu.UyeOntanimliAdres = int.Parse(drpAdresler.SelectedValue);

                db.SubmitChanges();


                lblMesaj.Text = "Kişisel Bilgileriniz Güncellendi!";
            }




            var adressorgu = (from x in db.UyeAdreslers where x.UserID == userId select new { x.AdresBilgisi, x.AdresID, x.AdresAdi }).ToList();

            drpAdresler.DataTextField = "AdresAdi";
            drpAdresler.DataValueField = "AdresID";

            drpAdresler.DataSource = adressorgu;
            drpAdresler.DataBind();
        }
    }
}